package org.proxycine.gestsalles.services;

import java.util.List;

import org.proxycine.gestsalles.model.dao.CopieDao;
import org.proxycine.gestsalles.model.entities.Cinema;
import org.proxycine.gestsalles.model.entities.Copie;

public final class CopieService {
	
	private static CopieService instance;
	
	private CopieService() {
		instance = this;
	}
	
	public static CopieService getInstance() {
		if(instance == null)
			instance = new CopieService();
		
		return instance;
	}
	
	public int getNbCopiesDisponibles(int idFilm){
		return CopieDao.getInstance().getNbCopiesDisponibles(idFilm);		
	}
	
	public int insertCopie(Copie copie) {
		return this.insertCopie(copie, copie.getFilm().getId());
	}
	
	public int insertCopie(Copie copie, int idFilm) {
		return CopieDao.getInstance().insertCopie(copie, idFilm);
	}
	
	public Copie getCopieFromFilmName(String film_name, String login_gerant)
	{
		return CopieDao.getInstance().getCopieFromFilmName(film_name, login_gerant);
	}

	public int affecterCopieAUnCinema(Copie copie, int idCinema) {
		return CopieDao.getInstance().affecterCopieAUnCinema(copie, idCinema);	
	}
	
	public void setEtatCopieAchete(Copie copie) {
		CopieDao.getInstance().setEtatCopieAchete(copie);
	}
	
	public List<Copie> getCopiesDisponibles() {
		return CopieDao.getInstance().getCopiesDisponibles();
	}
	
	public List<Copie> getCopiesDistribueesParCinema(Cinema cinema) {
		return CopieDao.getInstance().getCopiesDistribueesParCinema(cinema);
	}

	
	public List<Copie> getAllCopies(){
		return CopieDao.getInstance().getAllCopies();
	}
}
